Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add support for VCU118 block design #287

Open
wants to merge 16 commits into
base: main
Choose a base branch
from
Open

Add support for VCU118 block design #287

wants to merge 16 commits into from

Conversation

CyrilKoe
Copy link
Contributor

@CyrilKoe CyrilKoe commented Jan 17, 2025

  • Added VCU118 block design and device tree
  • Removed half-done hyperram support (kept in other working branch) (pads are still in the Carfield IP but unconnected in the flow)
  • Added BD constraints for VCU118 (including ext_jtag)
  • Added CI boot for VCU118
  • Migrated CI to the new bordcomputer server

Tests:

  • Bare metal VCU118 (UART, JTAG, DDR, SPI)
  • Boot VCU118 (No ethernet [see docs]; but boot over SPI)

@CyrilKoe CyrilKoe self-assigned this Jan 17, 2025
@CyrilKoe CyrilKoe marked this pull request as ready for review January 18, 2025 10:21
@CyrilKoe CyrilKoe requested a review from alex96295 as a code owner January 18, 2025 10:21
@CyrilKoe CyrilKoe changed the title Draft: Add support for VCU118 block design Add support for VCU118 block design Jan 18, 2025
@CyrilKoe
Copy link
Contributor Author

Ready for review. Both FPGA boot in CI
https://iis-git.ee.ethz.ch/github-mirror/carfield/-/pipelines/96336

@@ -44,7 +44,7 @@ include $(CAR_ROOT)/bender-safed.mk
######################

CAR_NONFREE_REMOTE ?= [email protected]:carfield/carfield-nonfree.git
CAR_NONFREE_COMMIT ?= 59e53134
CAR_NONFREE_COMMIT ?= e39aebd1
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

make sure to open a PR on the nonfree repo

@@ -24,7 +27,17 @@ design flow to link Carfield with external IPs. This flow is less human readable
integrating more complex IPs as Xilinx Ethernet. *Note that this may require you to own the
respective licenses.*

## Building the vanilla bistream
## For impatient readers
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

For impatient readers -> Quick Start

> #### External JTAG chain
>
> Similarly to the VCU128 we use GPIOs to connect an external JTAG-USB dongle (Digilent HS2). Unlike the VCU128, the availability of GPIOs directly on the board allow us to connect the HS2 without an FMC debug board (see constraints for related pins).
>**WARNING: this setup (with `EXT_JTAG=0`) will only work for designs containing the host only** as
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

we can use a warning block:

> :warning: [text]

@@ -0,0 +1,8 @@
// Copyright 2022 ETH Zurich and University of Bologna.
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

update to 2025

@@ -0,0 +1,538 @@
# Copyright 2020 ETH Zurich and University of Bologna.
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Update license year

#
# This file was generated for vivado 2020.2

################################################################
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

iirc, these block design scripts are generated with Vivado; during our flow, is this taken as an input, or generated as output during he flow and then used? if the latter, maybe we could not check it in and generate it during the flow in a dedicated generated folder, so that it can be used.

I did not have a look at the full flow: which one is the case o the current flow?

@@ -0,0 +1,23 @@
# Copyright 2020 ETH Zurich and University of Bologna.
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Update license year

@@ -46,6 +46,7 @@ $(CAR_XIL_DIR)/flavor_vanilla/scripts/add_sources.tcl: Bender.yml

# Compile bitstream
$(CAR_XIL_DIR)/flavor_vanilla/out/%.bit: $(xilinx_ips_paths_vanilla) $(CAR_XIL_DIR)/flavor_vanilla/scripts/add_sources.tcl
@if [ "$(GEN_NO_HYPERBUS)" != "1" ] && [ "$(XILINX_ELABORATION_ONLY)" != "1" ]; then echo "Hyperbus not supported yet in this branch"; fi;
Copy link
Collaborator

@alex96295 alex96295 Jan 20, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

what does "[...] not supported yet in this branch" mean? Since this would land in main, I guess this is a leftover of your dev branch? I think the echo message could be improved for better clarity

Copy link
Collaborator

@alex96295 alex96295 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I added some minor comments, good job and thank you for the PR

As a side note, let's make sure we merge the nonfree branch before this

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants